@echo off
echo ========================================
echo    百日行动线索收集系统 - 快速启动脚本
echo ========================================
echo.

echo [1/4] 检查Node.js环境...
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Node.js未安装，请先安装Node.js
    echo 下载地址：https://nodejs.org/
    pause
    exit /b 1
)
echo ✅ Node.js环境正常

echo.
echo [2/4] 检查MySQL服务...
sc query mysql >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  MySQL服务未检测到，请确保MySQL已安装并运行
    echo 如果MySQL已安装，请手动启动服务
    pause
)

echo.
echo [3/4] 安装后端依赖...
cd backend
if not exist node_modules (
    echo 正在安装依赖包...
    npm install
    if %errorlevel% neq 0 (
        echo ❌ 依赖安装失败
        pause
        exit /b 1
    )
    echo ✅ 依赖安装完成
) else (
    echo ✅ 依赖已存在
)

echo.
echo [4/4] 检查环境配置...
if not exist .env (
    echo 正在创建环境配置文件...
    echo # 环境配置文件 > .env
    echo DB_HOST=localhost >> .env
    echo DB_PORT=3306 >> .env
    echo DB_USER=root >> .env
    echo DB_PASSWORD=newhand >> .env
    echo DB_NAME=hunaction >> .env
    echo JWT_SECRET=hun_action_jwt_secret_key_2024 >> .env
    echo JWT_EXPIRES_IN=7200 >> .env
    echo PORT=3000 >> .env
    echo NODE_ENV=development >> .env
    echo UPLOAD_PATH=./uploads >> .env
    echo MAX_FILE_SIZE=10485760 >> .env
    echo AES_SECRET_KEY=hun_action_aes_encryption_key_2024 >> .env
    echo SYSTEM_NAME=百日行动线索收集系统 >> .env
    echo ADMIN_EMAIL=admin@hunaction.com >> .env
    echo SUBMIT_RATE_LIMIT=5 >> .env
    echo ✅ 环境配置文件已创建
) else (
    echo ✅ 环境配置文件已存在
)

echo.
echo 创建上传目录...
if not exist uploads mkdir uploads

echo.
echo ========================================
echo              启动选项
echo ========================================
echo 1. 启动后端服务器
echo 2. 只检查数据库连接
echo 3. 查看项目信息
echo 4. 退出
echo ========================================
set /p choice=请选择操作 (1-4): 

if "%choice%"=="1" goto start_server
if "%choice%"=="2" goto check_db
if "%choice%"=="3" goto show_info
if "%choice%"=="4" goto end

:start_server
echo.
echo 🚀 正在启动后端服务器...
echo 服务器地址：http://localhost:3000
echo 前端页面：请打开 ../frontend/public/index.html
echo 按 Ctrl+C 停止服务器
echo.
npm start
goto end

:check_db
echo.
echo 🔍 检查数据库连接...
node -e "
const mysql = require('mysql2/promise');
async function testDB() {
    try {
        const conn = await mysql.createConnection({
            host: 'localhost',
            port: 3306,
            user: 'root',
            password: 'newhand',
            database: 'hunaction'
        });
        console.log('✅ 数据库连接成功');
        await conn.end();
    } catch (error) {
        console.log('❌ 数据库连接失败:', error.message);
        console.log('请检查：');
        console.log('1. MySQL服务是否运行');
        console.log('2. 数据库hunaction是否存在');
        console.log('3. 用户名密码是否正确');
    }
}
testDB();
"
pause
goto end

:show_info
echo.
echo ========================================
echo             项目信息
echo ========================================
echo 项目名称：百日行动线索收集系统
echo 版本：1.0.0
echo 技术栈：Node.js + Express + MySQL + HTML/CSS/JS
echo.
echo 📁 目录结构：
echo   backend/          - 后端代码
echo   frontend/         - 前端代码
echo   *.sql            - 数据库脚本
echo.
echo 🌐 访问地址：
echo   后端API：http://localhost:3000
echo   前端页面：frontend/public/index.html
echo.
echo 👤 默认管理员：
echo   用户名：admin
echo   密码：newhand
echo.
echo 📚 文档：
echo   需求文档：百日行动线索收集系统需求文档.md
echo   API文档：百日行动线索收集系统API接口文档.md
echo   数据库：数据库使用说明.md
echo ========================================
pause
goto end

:end
cd ..
echo.
echo 感谢使用百日行动线索收集系统！
pause 